Supporting zero-knowledge proofs#
Concordium’s identity layer uses zero-knowledge proofs (ZKPs) to ensure user privacy. These cryptographic proofs are a core component of the identity object. They enable a user to confirm their verified status on-chain without disclosing personal data. This system also allows for selective disclosure; for instance, a user could generate a proof to confirm a specific attribute (e.g., “is over 18”). A third party can then verify the proof against the user’s public commitment on the blockchain, confirming the attribute without revealing other personal data.
Your wallet’s responsibility for handling these proofs depends on your chosen integration path:
If you selected option 1 (direct IDP integration), your wallet is responsible for generating the cryptographic requests that produce the final ZKP within the identity object. The Concordium SDK is designed to handle this complex process.
If you selected option 2 (ID App integration), this responsibility is offloaded entirely to the Concordium ID App.
Advantages:
User privacy - Users’ identity is verified on-chain without exposing personal data.
Regulatory compliance - Enables access to regulated digital assets and enterprise dApps that require verified identity.
Reduced security liability - The protocol handles identity proofs, eliminating the need to store sensitive user PII.
Developer tools:
The Concordium Proof Explorer is an interactive tool for creating and testing proofs with account credentials and verifiable credentials
View the source code on GitHub
For detailed guidance on writing statements that interact with Concordium wallets and creating proofs for dApps and services, refer to the Create proofs documentation